function checkCnEnLength(str, minLength, maxLength) {	//检测全中文、中英文混合长度，中文长度为2，不设置最大长度或最小长度传0
	var len = str.match(/[^\r|\n| -~]/g) == null ? str.replace(/[\r|\n]/g,"").length : str.replace(/[\r|\n]/g,"").length + str.match(/[^\r|\n| -~]/g).length;
//var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length;不去除回车的长度计算

	if (minLength==0 && maxLength>=len) {
		return true;
	} else if (maxLength==0 && len>=minLength) {
		return true;
	} else if (maxLength>=len && len>=minLength) {
		return true;
	} else if (minLength==0 && maxLength==0) {
		return true;
	}
	return false;
}

function checkLength(str, minLength, maxLength) {	//检测str长度，中文为1，英文为1，不设置最大长度或最小长度传0
	var len = str.length;

	if (minLength==0 && maxLength>=len) {
		return true;
	} else if (maxLength==0 && len>=minLength) {
		return true;
	} else if (maxLength>=len && len>=minLength) {
		return true;
	} else if (minLength==0 && maxLength==0) {
		return true;
	}
	return false;
}

function trim(str) {	//去除Str前后空格，包括全角半角
	str = str.replace(/(^[\s　]*)|([\s　]*$)/ig,"");
	return str;
}

function checkRate(str)
{
     var re=/^(-|\+)?\d+(\.\d+)?$/;   //判断字符串是否为数字 
     if (re.test(str))
    {
        return true;
     }else{
     return false;
     }
     
}  

function check_all(obj,cName) { //复选框全选方法，cName是checkbox的名称，obj是全选按钮自身一般写this
    var checkboxs = document.getElementsByName(cName);
    for(var i=0;i<checkboxs.length;i++) {
		checkboxs[i].checked = obj.checked;
	}
}

function checkCheckBox(checkBoxName) { //检测用户是否选择了checkbox
	var checkboxs = document.getElementsByName(checkBoxName);
	for(var i=0;i<checkboxs.length;i++) {
		if (checkboxs[i].checked) {
			return true;
		}
	}
	return false;
}

function isNum(str) {
    pattern = /^[0-9]*$/;
    return pattern.test(str);
}

function isTel(str) {	//判断是不是合法座机的Tel的函数，电话格式+86-010-12345678-123456,其中国家号2-3可有+号，区号2-5，电话6-8位，分机2-6位，区号和电话是必须的，国家号和分机号可选
	pattern = /^(\+?\d{2,3}-)?(\d{2,5})-(\d{6,8})(-\d{2,6})?$/;
	return pattern.test(str);
}

function isTelC(str) {	//判断是不是合法座机的Tel的函数，电话格式+86-010-12345678-123456,其中国家号2-3可有+号，区号2-5，电话6-8位，分机2-6位，分机号可选
	pattern = /^(\+?\d{2,3}-)(\d{2,5})-(\d{6,8})(-\d{2,6})?$/;
	return pattern.test(str);
}

function isComMobil(str) {	//判断是否中国移动电话号码
	pattern = /^1(34|35|36|37|38|39|41|50|51|52|57|58|59|88|89)\d{8}$/;
	return pattern.test(str);
}

function isComUnit(str) {	//判断是否中国联通电话号码
	pattern = /^1(30|31|32|33|53|56|86)\d{8}$/;
	return pattern.test(str);
}

function isSame(str, str1) {	//判断两个str是否相等
	return str == str1;
}

function isNull(str) {	//判断str是否为空字符串
	if (str == null) return true;
	if (str == '') return true;
	return false;
}

function changeDisplayInfo(displayId,messageStr) {	//隐藏Id，验证通过显示okIco.gif对号图片
	document.getElementById(displayId).innerHTML = "<span class='lyFormTip' style='display:block;'>" + messageStr + "</span>";
}

function changeDisplayTrue(displayId) {	//隐藏Id，验证通过显示okIco.gif对号图片
	document.getElementById(displayId).innerHTML = "<img src='"+ jsCtx + "/club/ui/style/skin1/images/okIco.gif' />";
}

function changeDisplayFalse(displayId, messageStr) {	//显示Id，messageStr错误提示信息，验证错误显示信息
	document.getElementById(displayId).innerHTML = "<div class='lyFormTipErr'>" + messageStr + "</div>";
}

function changeDisplayNull(displayId) {	//显示Id，验证通过除显示信息
	document.getElementById(displayId).innerHTML = "";
}

//sectionCode的值()中为值：首页(01),域名注册(02),电子邮箱(03),网站寄存(04),虚机应用(05),主机托管(06),网站安全(07),超值套餐(08)
function loadAdList(divId, sectionCode) {	//加载广告栏到页面，divId加载广告栏的div的ID，sectionCode广告栏编号
	var divIdStr = "#"+divId;
	$(divIdStr).load(jsCtx+"/adList.do?method=adList", {'section':sectionCode});
}

//判断是不是合法的Email的函数
function isEmail(argValue)
{
	var emailStr=argValue.toLowerCase();
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|mobi)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var emailPat=/^(.+)@(.+)$/;
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null)
	{
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++)
	{
		if (user.charCodeAt(i)>127)
		{
			return false;
		}
	}
	for (i=0; i<domain.length; i++)
	{
		if (domain.charCodeAt(i)>127)
		{
			return false;
		}
	}
	if (user.match(userPat)==null)
	{
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
			{
				return false;
			}
		}
		return true;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++)
	{
		if (domArr[i].search(atomPat)==-1)
		{
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1)
	{
		return false;
	}
	if (len<2)
	{
		return false;
	}
	return true;
}

// 判断是否为有效的域名 可以带小数点，可以带www不能以.或-开头和结尾，由中文、26个字母、数字等组成，如：www.abc.com
function myIsFullDomain(argurl) {

	if(argurl.indexOf(".") == -1 && argurl.indexOf("．") == "-1"){
		return false;
	}
         //修改域名的长度不超过70，带后缀不大于77！！
	//判断域名长度不能超过63,汉字当两个字符写
	if(getLen(argurl) > 77 || getLen(argurl.substring(0,argurl.indexOf(".")))>70 || getLen(argurl.substring(0,argurl.indexOf("．")))>70){
		return false;
	}
	var myReg,regarray,i,count;
	//先转化成半角，去除全角特殊字符的遗漏
	var target = Trim(fullChar2halfChar(argurl)).toLowerCase();
	//不要进行转换了 全角的英文字符当中文使
	target =argurl.toLowerCase();
	//如果以xn--开头，则返回失败
	//if(target.startWith("xn--")){
	//	return false;
	//}

	for(var ii=0; ii<target.length; ii++){
		if(target.charAt(ii) == " "){
			return false;
		}
	}

	if(target.indexOf("-.")>=0){
		return false;
	}

	//var p = "^([a-zA-Z]+\.)?[A-Za-z0-9-\u4e00-\u9fa5]+\.[a-zA-Z]+(\.[a-zA-Z]+)?$";
	//var p = "^([^-]([a-zA-Z0-9]+\.)?[A-Za-z0-9-\u4e00-\u9fa5]+)(.com|.cn|.net|.org|.cc|.info|.biz|.tv|.mobi|.gov|.hk|.tw|.com.cn|.net.cn|.org.cn|.gov.cn|.中国|.公司|.网络)$"
	//var pppp = "^([A-Za-z0-9-\u4e00-\u9fa5]+)(.com|.cn|.net|.org|.cc|.info|.biz|.tv|.mobi|.gov|.hk|.tw|.com.cn|.net.cn|.org.cn|.gov.cn|.中国|.公司|.网络)$"
	var pEnOnly = "^([A-Za-z0-9-]+)(.org|.me|.info|.mobi|.travel|.asia|.gov|.cn|.[a-z]+.cn|.[a-z]+.hk|.[a-z]+.tw)$";
	var pCnMust = "^([A-Za-z０１２３４５６７８９－0-9-Ａ-Ｚａ-ｚ\u4e00-\u9fa5]+)(.中国|.公司|.网络|.通用网址|.白金词)$"
	var pEnCnAll = "^([A-Za-z０１２３４５６７８９－0-9-Ａ-Ｚａ-ｚ\u4e00-\u9fa5]+)(.com|.net|.cc|.biz|.tv|.hk|.tw)$"//

	var enReg = new RegExp(pEnOnly);
	var cnReg = new RegExp(pCnMust);
	var encnReg = new RegExp(pEnCnAll);

	var enB = new Boolean(enReg.test(target));

	//alert("!IsChinese("+target+"):"+!IsChinese(target))
	if(!IsChinese(target)){
		//英文域名如果以xn--开头，则返回失败
		if(target.startWith("xn--")){
			return false;
		}
	}

	if(enB == true){
		//英文域名如果以xn--开头，则返回失败
		//if(target.startWith("xn--")){
			//return false;
		//}

		enB = !IsChinese(target);
		if(target.substring(0,target.indexOf(".")).length>70 || target.length >77){
			return false;
		}
	}
	//alert(target)
	//域名长度判断:不含后缀的63位，含后缀的不超过70位，中文不超过16个汉字（不含后缀）
	if(IsChinese(target)){
		var tempStr = target.substring(0,target.indexOf("."));
		//alert(tempStr);
		var tempi = 0;
		for(var chrIndex=0;chrIndex<tempStr.length;chrIndex++)
		{
			var temp=tempStr.charCodeAt(chrIndex)
			if(temp>=10000) {
				flag=true;
				tempi ++
			}
		}
		//alert(tempi);
		//alert(target.length)
		if(tempi>19 || target.length > 77){
			return false;
		}
	}else{
		if(target.substring(0,target.indexOf(".")).length>70 || target.length >77){
			return false;
		}
	}

	var cnB = new Boolean(cnReg.test(target) && IsChDomain(target.substring(0,target.lastIndexOf("."))));
	var encnB = new Boolean(encnReg.test(target));
	//alert("enB is:" + enB);
	//alert("cnB is:" + cnB);
	//alert("encnB is:" + encnB);
	if(target.startWith("-") || target.endWith("-")){

		return false;
	}
	/*
	//alert(target.lastIndexOf("."));
	//alert(target.length);
	if(target.indexOf(".")<=0 || target.lastIndexOf(".") == target.length -1 || target.lastIndexOf(".") ==0){

		return false;
	}
	if(target.startWith(".") || target.endWith(".")){
		alert(target);
		alert(target.startWith("a"));
		alert(target.endWith("a"));
		alert("2");
		return false;
	}*/
	//var p = "^[A-Za-z0-9-\u4e00-\u9fa5.]+$";
	if (enB == true || cnB == true || encnB == true){
		return true;
	}
	else{
		return false;
	}
}


String.prototype.endWith=function(oString){
  var   reg=new   RegExp(oString+"$");
  return   reg.test(this);

  }

  String.prototype.startWith=function(oString){
  var   reg=new   RegExp("^" + oString);
  return   reg.test(this);

  }


	//此Trim函数只去两边的空格，要去此字符串里的所有空格
	function Trim(info)
	{
		return info.replace(/(^\s*)|(\s*$)/g, "");
	}

	//判断字符串长度 汉字当两个字符看待
function getLen(str)
	{
	 var len=0;
	 for(var i=0;i<str.length;i++)
	 {
    	char1 = str.charCodeAt(i);
		if(!(char1>255)) {
  	 	len = len + 1;
 	 }else {
 	  	len = len + 2;
 	 }
 	}
 	return len;
	}

// 判断是否有中文
function IsChinese(argString) {
	var flag=false;
	var length1=argString.length;

	for(var chrIndex=0;chrIndex<length1;chrIndex++)
		{
			var temp=argString.charCodeAt(chrIndex)
			if(temp>=10000) {
				flag=true;
				break;
			}
			else
				continue;
		}
	return flag;
}

//将字符串转成半角，在判断域名的时候有用。
function fullChar2halfChar(str)
{
//alert("begin");
//alert(str)
str = str.replace(/\。/g, ".");
str = str.replace(/\，/g, ",");
 var result = '';
 for (i=0 ; i<str.length; i++)
 {
  code = str.charCodeAt(i);//获取当前字符的unicode编码
  if (code >= 65281 && code <= 65373)//在这个unicode编码范围中的是所有的英文字母已经各种字符
  {
   result += String.fromCharCode(str.charCodeAt(i) - 65248);//把全角字符的unicode编码转换为对应半角字符的unicode码
   //alert("one:" + str.charAt(i));
  }else if (code == 12288)//空格
  {
   result += String.fromCharCode(str.charCodeAt(i) - 12288 + 32);
  }else
  {
   result += str.charAt(i);
  }
 }
 //alert(str)
 return result;

}


//判斷只含有中文
function isChineseOnly(argString){
	//var chineseOnly = "^[\u4e00-\u9fa5]+$";
	//var cReg = new RegExp(chineseOnly);
	//return cReg.test(argString);
	return IsChinese(argString)
}

/*
*
*string:原始字符串
*substr:子字符串
*isIgnoreCase:忽略大小写
*/
function contains(string,substr,isIgnoreCase)
{
    if(isIgnoreCase)
    {
     string=string.toLowerCase();
     substr=substr.toLowerCase();
    }
     var startChar=substr.substring(0,1);
     var strLen=substr.length;
         for(var j=0;j<string.length-strLen+1;j++)
         {
             if(string.charAt(j)==startChar)//如果匹配起始字符,开始查找
             {
                   if(string.substring(j,j+strLen)==substr)//如果从j开始的字符与str匹配，那ok
                   {
                         return true;
                   }  
             }
         }
         return false;
}